iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
1
Modern Web

從零開始的點餐系統,Google好棒棒系列 第 5

[Day5] BOT系統架構面

  • 分享至 

  • xImage
  •  

Why Telegram Bot

  1. 通訊軟體的普及(方便)
  2. 雙向的即時性(效率)
  3. 穩定的中介服務(互動)
  4. 免費

How - 架構示意圖

Prepare

  • 使用者端需要安裝Telegram APP
  • 註冊一個Telegram Bot
  • 處理商業邏輯的後端服務

Scenario

使用者詢問

使用者可以主動詢問Bot可以提供什麼服務,此時Bot會依照預先設定的腳本回覆給使用者,使用者即可依照設定好的服務腳本進行雙向的溝通取得所需的服務。

當使用者依照服務的腳本點選按鈕或是依照指示輸入相關的資訊時,Bot會將收到的訊息與用戶等資訊轉交給後端的伺服器進行確認與執行對應的商業邏輯。

後端的系統依照收到的需求進行對應的商業邏輯,將處理的結果即時回傳給使用者知悉。

伺服器推播

當後端系統有需要主動發送最新訊息給群組的使用者或是發送通知給特定使用者時,也會透過Telegram服務進行發送。

Telegram Bot Connection方式

  • Long Polling

是指程式間隔一定時間透過 getUpdates(上面所使用的方法)取得用戶訊息,缺點是浪費資源、不夠即時,所以適合在程式還沒有 deploy,在 develop 和 test 階段時使用。

  • Webhook

是指向 Telegram 設定一組 callback url,只要當用戶傳送訊息給你的 Chatbot,Telegram 就會把用戶訊息連同 metada 傳送到你設定的 url 。適合使用在程式已經 deploy,有自己 server 專屬 url 的 production 環境。


上一篇
[Day4] 後台前端架構面(2) - 系統具體功能
下一篇
[Day6] 整合系統架構面
系列文
從零開始的點餐系統,Google好棒棒30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言